package com.train.ticket.po;

import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.LocalDate;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;

/**
 * 车票
 * @author baitiaojun
 * @TableName ticket
 * @createDate 2025-03-14 15:17:16
 */
@TableName(value ="ticket")
@Data
public class TicketPO implements Serializable {


    /**
    * id
    */
    @TableId
    private Long id;

    /**
    * 会员id
    */
    private Long memberId;

    /**
    * 乘客id
    */
    private Long passengerId;

    /**
    * 乘客姓名
    */
    private String passengerName;

    /**
    * 日期
    */
    private LocalDate trainDate;

    /**
    * 车次编号
    */
    private String trainCode;

    /**
    * 箱序
    */
    private Integer carriageIndex;

    /**
    * 排号|01, 02
    */
    private String seatRow;

    /**
    * 列号|枚举[SeatColEnum]
    */
    private String seatCol;

    /**
    * 出发站
    */
    private String startStation;

    /**
    * 出发时间
    */
    private LocalTime startTime;

    /**
    * 到达站
    */
    private String endStation;

    /**
    * 到站时间
    */
    private LocalTime endTime;

    /**
    * 座位类型|枚举[SeatTypeEnum]
    */
    private String seatType;

    /**
    * 新增时间
    */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
    * 修改时间
    */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}
